Skip to content

feat: Add consolidation to cbmigrations #51

Open
lmajano wants to merge 14 commits into
masterfrom
claude/bxmigrations-file-reading-elavbl
Open

feat: Add consolidation to cbmigrations #51
lmajano wants to merge 14 commits into
masterfrom
claude/bxmigrations-file-reading-elavbl

Conversation

@lmajano

@lmajano lmajano commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR modernizes commandbox-migrations with full BoxLang support, renames the config file from .cfmigrations.json to .cbmigrations.json, adds comprehensive documentation, and introduces AI agent integration with 45+ domain-specific skills. This is the first part, then the second part is renaming cfmigrations modules to the cbMigrations module.

Features

🚀 BoxLang Support

  • New scaffolding templates: MigrationBX.txt and seedBX.txt for BoxLang-flavored .bx migrations and seeds
  • Auto-detection: isBoxLangProject() detects BoxLang projects via the running CommandBox server's engine or box.json language key
  • Language-aware scaffolding: migrate create and migrate seed create automatically select the correct template (.cfc vs .bx) based on project type
  • BoxLang linting: Added .bxlint.json configuration for .bx template validation

⚠️ Config File Rename (.cfmigrations.json.cbmigrations.json)

  • BREAKING: The preferred config file is now .cbmigrations.json, abstracting away the CF-specific naming
  • Backward compatible: Legacy .cfmigrations.json is still read if .cbmigrations.json doesn't exist
  • Auto-migration prompt: When a legacy config is found, users are offered to rename it automatically
  • Config resolution order: .cbmigrations.json.cfmigrations.jsonbox.json cfmigrations key (deprecated, auto-converted)

📖 Documentation & Code Quality

  • All command arguments documented: Every command's run() method now has JavaDoc-style param descriptions
  • Method documentation: Previously undocumented methods in BaseMigrationCommand.cfc (setup(), installDatasource(), setMigrationPath(), checkForInstalledMigrationTable(), etc.) now have full JavaDoc comments
  • README updated: New BoxLang support section explaining template selection and config changes
  • Copyright headers: Added the standard Ortus copyright header to all .cfc and .bx files

🤖 AI Agent Integration

  • AGENTS.md: Comprehensive project guidelines covering code style (Ortus standards), architecture, build/test commands, conventions, and a full skills reference table
  • 45+ domain-specific skills organized by category:
    • 25 BoxLang skills (language fundamentals, async, security, testing, web dev, etc.)
    • 9 CommandBox CLI skills (servers, packages, tasks, config, etc.)
    • 11 TestBox testing skills (BDD, mocks, runners, coverage, etc.)
    • 4 additional skills (Ortus standards, GitHub Actions, Java, JUnit)
  • skills-lock.json: Tracks installed skill versions

🧹 Cleanup

  • Removed obsolete .hint files that produced unnecessary noise
  • Updated box.json metadata and ModuleConfig.cfc with improved structure

Files Changed

23 files changed — +999 / -170 lines

claude and others added 9 commits June 16, 2026 12:43
… scaffolding

Generalizes the CF-prefixed config lookup methods and adds a shared
isBoxLangProject() detection (running BoxLang server, or box.json
"language": "boxlang") so migrate init, migrate create, and
migrate seed create can scaffold BoxLang-flavored files via an
explicit --boxlang flag or auto-detection.
Adds doc comments to every method in BaseMigrationCommand.cfc,
ModuleConfig.cfc's configure(), and seed/run.cfc's completeSeedNames(),
the only methods in the module lacking documentation.
Adds a dedicated BoxLang Support section covering .bxmigrations.json,
.bx file scaffolding, and the auto-detection/--boxlang override
behavior, and cross-references it from the Setup section.
The Usage section was missing manager, verbose, seed, force, and open
flags for most commands even though they were already implemented.
Each command's documented signature now matches its run() signature.
- remove old .hint that are not required anymore and produce noise
@lmajano lmajano changed the title Add BoxLang support: .bxmigrations.json config and .bx migration/seed scaffolding feat: Add consolidation to cbmigrations Jun 16, 2026
@bdw429s bdw429s self-requested a review June 16, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants